// 请你来写个函数在 main 函数执⾏前先运⾏
#include<bits/stdc++.h>
using namespace std;

// 1:全局静态
int test1(){
    cout<<"before main 1"<<endl;
}

static int i=test1();

// 2：lambda表达式
int a=[](){
    cout<<"before main 2"<<endl;
    return 0;
}();

// 3:gcc拓展
__attribute((constructor)) void before(){
    printf("before main 3\n");
}


int main(int argc, char const *argv[])
{
    cout<<"main function"<<endl;
    return 0;
}
